Multi-angle product imaging device

ABSTRACT

A system for acquiring multi-angle images of a product includes a workstation having a working surface for placing a product, a camera supporting member having a vertical axis, and an image capturing device movably attached to the camera supporting member so that it may move along the vertical axis of the camera supporting member. The system captures and analyzes a digital image of a product to detect the vertical center of the product, and adjusts the position of the image capturing device along the vertical axis so that the vertical center of the product is proximate to the vertical center of the image. The system may also have a turntable and additionally rotate the turntable at multiple capturing angles and capture one or more additional digital images of the product at various capturing angles and store the one or more additional images in a product database.

BACKGROUND

This patent document relates to an image capturing device, andparticularly to image capturing device that automatically capturesmulti-angle product images.

The imaging of retail environments, specifically shelving, is anemerging area. For example, recognizing the types and presence/absenceof products from store shelf imagery could provide key data to enablenew retail services. A key input for recognizing products from storeshelf imagery is multi-angle reference images of each individualproduct. Standard product images can be obtained from consumer packagedgoods (CPGs) or organizations that aggregate merchandising data (such asGS-1). However, such images are generally limited to certain productcategories/manufacturers and may not have the appropriate profile viewsof the product for the purpose of robustly recognizing them andextracting key information from them. These challenges and potentialneeds for new systems apply to both custom in-house and private-labelbrands.

In other applications, such as photographing evidence in forensics andproving ownerships for insurance purposes, there is a need toautomatically capture multiple images of an article or product. Existingproduct image capturing devices and methods often require asignificantly high number of steps to capture the information, andgenerally they are not easy to use. For example, many systems require amanual setup, calibration and/or user intervention when takingmulti-angle product images.

This document describes devices that address some or all of the issuesdescribed above.

SUMMARY

A system for acquiring multi-angle images of a product may include acomputing device; a workstation having a working surface, at least onebackground wall and a camera supporting member having a vertical axis;and an image capturing device movably attached to the camera supportingmember so that the image capturing device may be moved along thevertical axis of the camera supporting member. The computing device maybe programmed to control the image capturing device to capture a digitalimage of the product, analyze the captured digital image and detect avertical center of the product, and control the image capturing deviceto move along the vertical axis to adjust its position so that thevertical center of the product is proximate to the vertical center ofthe first digital image. The computing device may be programmed tocontrol the image capturing device to capture one or more additionaldigital images of the product and store the one or more additionalimages in a product database.

Additionally, the system may also include a turntable rotatably mountedto the workstation and configured to hold a product. The computingdevice may be programmed to rotate the turntable to multiple capturingangles and control the image capturing device to capture one of theadditional digital images of the product at each of the multiplecapturing angles. Alternatively and/or additionally, the system maydetect a barcode of the product, compare the detected barcode of theproduct with one or more product barcodes stored in a product database,and suspend subsequent capturing if the detected barcode of the productmatches at least one product barcode in the product database.

In an embodiment, the system may include a laser based range sensormounted on the camera supporting member, where the laser based rangesensor may detect the distance between the image capturing device andthe product. In one embodiment, the system may calculate the dimensionof the product based on the one or more captured additional images andthe detected distance between the image capturing device and theproduct.

In an embodiment, the system may include one or more light panels toilluminate the product. Additionally, the background wall and theworking surface of the workstation may intersect seamlessly at a curvedcorner to improve the quality of captured images.

In an embodiment, a method of acquiring multi-angle images of a productusing the system described in this document may include: (a) placing aproduct on the workstation; (b) capturing an image of the product; (c)analyzing the captured first image and detecting a vertical center ofthe product; (d) determining if the vertical center of the product iswithin a proximate distance to the vertical center of the first image;(e) upon determining that the vertical center of the product is notwithin the proximate distance to the vertical center of the first image,causing the image capturing device to move along the vertical axis alocation based on the distance between the vertical center of theproduct and the vertical center of the first image; (f) capturing one ormore additional images of the product after the image capturing devicehas moved to the location; and (g) storing the one or more additionalimages in a product database.

Additionally, the method may also include placing the product on aturntable, rotating the turntable to multiple capturing angles, andcapturing one of the additional images at each of the multiple capturingangles.

In one embodiment, the method of detecting the vertical center of theproduct may include calculating an image intensity profile of the imageof the product, calculating a derivative of the image intensity profile,detecting an upper edge and a lower edge of the product based on thederivative of the image intensity profile, and determining the verticalcenter of the product based on the detected upper edge and the loweredge of the product. In another embodiment, the method may detect thevertical center of the product by segmenting the first image anddetecting a foreground of the first image based on the segmented image.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a perspective view of a workstation of a multi-angleproduct imaging device according to an embodiment.

FIG. 2 depicts a side view of a workstation of a multi-angle productimaging device according to an embodiment.

FIG. 3 depicts various components of a multi-angle product imagingdevice according to an embodiment.

FIG. 4 is a diagram of capturing multi-angle images of a productaccording to one embodiment.

FIG. 5 is a diagram of detecting the vertical center of a productaccording to one embodiment.

FIGS. 6A and 6B illustrate an image intensity profile and its derivativeaccording to one embodiment.

FIG. 7 is a block diagram of elements of a computing device on which thevarious systems and methods in this document could be implemented.

DETAILED DESCRIPTION

As used in this document, the singular forms “a,” “an,” and “the”include plural references unless the context clearly dictates otherwise.Unless defined otherwise, all technical and scientific terms used hereinhave the same meanings as commonly understood by one of ordinary skillin the art. As used in this document, the term “comprising” means“including, but not limited to.”

The term “product” refers to an article or substance that ismanufactured, such as a retail product; machine-made or hand-madeequipment, or a machine. A product may or may not have a barcode on it.

The term “barcode” refers to a pattern or symbol that contains encodeddata. Barcodes may include, for example, one-dimensional barcodes,two-dimensional barcodes (such as matrix codes, Quick Response (“QR”)codes, Aztec codes and the like), or three-dimensional barcodes.

Each of the terms “barcode detection” or “detecting a barcode” refers toa process of reading the information embedded in the barcode, which mayinclude recognizing the presence of a barcode from a digitalrepresentation, such as a captured image, and/or decoding theinformation embedded in the barcode.

With reference to FIGS. 1 and 2, a system for acquiring multi-angleimages of a product is shown from different perspectives. The system mayinclude a workstation 100 that has a working surface 101, a turntable102, at least one background wall 104, and a camera supporting member105 mounted on the workstation. The turntable 102 may be mounted to theworkstation and freely rotate about the center. The turntable 102 mayalso have, or be positioned under, a surface 106 for holding a product103 for which multi-angle images are to be captured. In someembodiments, the turntable 102 can be mounted to the working surface 101in various ways. For example, the turntable 102 can be mountedunderneath the working surface so that the surface of the turntable 106may flush with the working surface 101. This allows the surface of theturntable to be an integrated part of the working surface such that whenan image is captured for a product placed on the turntable, thebackground of the image that may include part of the turntable and theworking surface will look consistent, thus making it easier to segmentthe product from the background image. In another example, the turntablemay be mounted above the working surface for easy mount.

With reference to FIG. 2, the turntable 102 may include a motor so itcan be rotated automatically. In one embodiment, the motor of theturntable can be communicatively coupled to a power relay or a controlsystem, and configured to be electronically controlled by a computingdevice to rotate the turntable about a center. For example, theturntable can be connected to the control system by a cable such as aUSB cable or any other types of cable that can transmit control signalsfrom the control system to the motor of the turntable, and/or transmitthe status of the turntable to the control system. In another example,the motor of the turntable can be remotely controlled by a computingdevice wirelessly, e.g. via infrared, Bluetooth, Wi-Fi, near-fieldcommunication (NFC) or any other wireless protocols.

The camera supporting member 105 may include a camera mount 107 to mountan image capturing device to the supporting member. The camera mount mayinclude a motorized linear slide that can move vertically and adjustz-axis position of the camera. In one embodiment, the linear slide canbe communicatively coupled to a control system to be electronicallycontrolled to slide the image capturing device vertically along an axisof the supporting member. For example, the linear slide motor can bewired to a computing device, or wirelessly controlled by the computingdevice remotely. Other moveable elements may be used, such as a liftstructure, a pulley system, a set of motorized rollers, or otherdevices.

The system can work with a variety of image capturing devices to capturemulti-angle images of a product. In one embodiment, the image capturingdevice can be a digital still camera or a video camera that is capableof capturing a still image or a video of a product. The image capturingdevice may have a different field of view (FOV) and may be at adifferent distance from the turntable (or the product to be imaged). Forexample, the image capturing device may be a camera that has 81 degreesFOV on the lateral direction and 50 degrees FOV on the axial direction.This is equivalent to a 25.5″×14.0″ FOV when the camera is placed 15″from the product.

In some embodiments, the system may include a barcode system to detectthe barcode of the product for which multi-angle images are beingcaptured. In one embodiment, the system may further include a barcodereader, either fixedly mounted to the workstation, such as on the camerasupporting member or a handheld scanner that the user can directly scanthe barcode off of the product. Alternatively and/or additionally, thesystem may use image analysis techniques to analyze one of the capturedimages of the product and detect the barcode on the product.

Alternatively and/or additionally, the system may include a laser basedrange sensor that is communicatively coupled to the computing device.The range sensor can be mounted on the supporting member, facing theproduct and configured to measure the distance between the imagecapturing device and the product. The system may use the measureddistance, and optionally/additionally the pixel dimensions measured fromthe captured image, to calculate the dimension of the product.

In improving the quality of captured images in one embodiment, thebackground wall provides a consistent background in the captured image.This may help avoid artifacts in the captured image and improve theperformance of image recognition and analysis to be used in the system.For example, the background wall may include a photo backdrop. Inanother embodiment, the workstation may include one or more light panels(such as light emitting diode, or LED panels) to provide sufficientillumination for the product and/or to minimize shadow. Returning toFIG. 2, in one embodiment, the light panel can be mounted on one or morebackground walls 104, either as front panels or installed behind thebackground wall as back panels 109. Additionally, the working surface ofthe workstation 101 may also be equipped with one or more back lightpanels 110 underneath the surface.

To further improve the quality of images, in one embodiment, thebackground wall and the working surface of the workstation may intersectseamlessly, such as being constructed as a curved corner (108 in FIG.1), at which the working surface extends into the background wall.Alternatively and/or additionally, the workstation can be made mobilefor easy deployment of various services. In one embodiment, theworkstation can have foldable legs with wheels attached. In anotherembodiment, the workstation can be made into a cylindrical capsule shapeby maintaining the axial dimension and reducing the lateral dimensions.

With reference to FIG. 3, various embodiments of controlling andoperating the image capturing system are shown. In one embodiment, thesystem may include a computing device having a processor, and a productimaging database 305 resided locally to store captured product images.In one embodiment, the system may also be capable of communicating witha database resided remotely, such as via the Internet. The system maystore the multi-angle images of the product in the database or transmitone or more of the multi-angle images of the product to the databaseremotely.

With further reference to FIG. 3, the system may further include animaging control and analysis system 301, mechanical control system 302,motor control for the camera mount 303 and power relay for the turntable304. In one embodiment, the mechanical control system 302 may includecamera vertical position control 306 and product rotation control 307.The camera vertical position control 306 can send control signals to themotor 303 to control the linear slide for the camera mount so as toprecisely control the position of the camera. In one embodiment, themotor for the camera mount can be a DC motor, such as a 200 step/revstep motor. In one embodiment, the motorized linear slide for the cameramount may have a rail that has lead screw (2 mm/rev), which whencombined with the 200 step/rev motor, may give a resolution of 0.01 mmin the vertical axis. The values listed in this paragraph are merelyexamples; other values are possible.

In one embodiment, the product rotation control 307 may send controlsignals to the power relay for the turntable 304 so as to preciselycontrol the rotation of the turntable. The turntable can be controlledto position at any capturing angle specified in a capture setting, andcan rotate in either clockwise or counter-clockwise direction. In oneembodiment, the turntable can rotate at various speeds, for example, ata maximum speed of 2 rotations per minute.

With further reference to FIG. 3, the imaging control and analysissystem 301 may include product position analysis 309, product imagingcontrol 310 and barcode detection 311. The product position analysis 309may be configured to perform image analysis operations on capturedimages and determine whether the product is vertically centered in thecaptured image. The product imaging control 310 may be configured toperform imaging related operations, such as controlling the imagecapturing device to capture images of the product and store the imagesto the product imaging database 305. Controlling the image capturingdevice may include sending control signals to the product rotationcontrol 307 so as to control the rotation of the turntable to positionthe product on the turntable at any selected angle.

In some embodiments, the control of the camera and turntable of theworkstation may be implemented by the computing device. The computingdevice may have a memory, such as ROM or RAM that stores programinstructions, such as C, C++, Java, assembly language, and/or othercomputer or script languages, to control various components. In oneembodiment, the program instructions may be configured to control theimage capturing device to capture one or more digital images of theproduct. Additionally, the program instructions may be executed to causethe computing device to analyze the captured images and, based on theanalysis of captured images, control the turntable and motorized linearslide of the camera mount. For example, based on the analysis of thecaptured image of the product, the system may determine that the productis too high or too low from the center of the image. Consequently, thesystem may adjust the image capturing device to move down or up so thatthe product can be centered in the captured image.

In some embodiments, the computing device may execute programinstructions that control the turntable and the image capturing deviceto take multiple images of a product at different angles. For example,the system may control the turntable to rotate to an angle, capture animage of the product, then rotate the turntable to another angle, andthen capture an additional image of the product, and repeat the steps tocapture multiple images of the product, each taken at a different angle.In one embodiment, the user may pre-store a set of capturing angles in acapture setting. In one embodiment, the set of capturing angles mayinclude 0, 45, 90, 180, 270 and 315 degrees. In another embodiment, theset of capturing angles may include 0, 90, 180 and 270 degrees. Inanother embodiment, the set of capturing angles may be determined basedon the shape of the product. In an automated capturing of multi-angleimages, the system will retrieve and extract the set of capturing anglesand rotate the turntable at approximately each of the set of capturingangles and capture the image for each rotation. In one embodiment, theextent of the approximate rotation of the turntable may be +/−10% ofeach of the capturing angles.

With further reference to FIG. 3, alternatively and/or additionally, thebarcode detection 311 may be configured to check the barcode of theproduct and determine, based on the barcode, whether the product forwhich images are to be captured is already in the database. Based onthis determination, the system may further determine whether to continueor suspending the capturing of the current product or storing thecaptured images to the database. In one embodiment, the system maydetermine that the product is already in the database and may determineto suspend the capturing of images for the instant product. The systemmay alert the user, such as, displaying a message, to move on to captureimages of the next product. In another embodiment, the system determinesthat the product is already in the database and may still determine tocontinue capturing images for the instant product and storing thecaptured images to the database. The system may compare these newlycaptured images with previously captured images for the same productand, based on the comparison, monitor the product packaging change overtime, which may be helpful for an advertisement campaign.

With reference to FIG. 4, methods for capturing multi-angle images of aproduct using the above disclosed embodiments of the image capturingsystem are provided. In one embodiment, the method may include placing aproduct on the turntable 401, using the image capturing device tocapture the first digital image of the product 402, such as a bitmapimage, then analyzing the captured first image to detect the verticalcenter of the product 403. Determining the vertical center of theproduct 403 is to determine whether the product is properly centeredvertically in the captured image. In some embodiments, it may bedesirable to have the center of the product proximate to or near thecenter of the image because lens distortion (rectangle become trapezoid)could cause subsequent product recognition to fail. If the systemdetermines that the product is not vertically centered in the capturedimage, the system may determine the adjustment needed to reposition thecamera so that the product will be properly centered for subsequentcapturing.

In one embodiment, the system may capture a single digital image of theproduct and analyze the single image to determine whether the product iscentered vertically. In another embodiment, the system may capture avideo, or a sequence of digital images of the product, and analyze on ormore images in the sequence.

With reference to FIG. 5, in one embodiment, the method for determiningthe vertical center of the product may include calculating an imageintensity profile 701 followed by calculating the derivative of theimage intensity profile 702, detecting the upper edge of the product703, detecting the lower edge of the product 704, and determining thevertical center of the product 705. These steps will be furtherexplained with reference to FIG. 6.

In FIG. 6A, an image intensity profile 601 along a vertical center linein a captured image of a product is shown, where the profile runningfrom left to right represent top to bottom of the center line. In FIG.6B, the derivative (slope) 602 of the image intensity profile in FIG. 6Ain absolute value is computed and shown. If the slope is low (close tozero), the region most likely has a uniform image intensity (i.e.background) while a high slope indicates that there may be a sharpchange in image intensity (i.e. the edges). Therefore, the first and thelast steep slope 603, 604 represent the upper and lower boundary of theproduct. In other embodiments, other image analysis methods such assegmentation and foreground detection can be used to automaticallydetermine the product center. Once the system determines the upper andlower edge of the product, the system may determine the vertical center(705 in FIG. 5) of the product. In one embodiment, the system may takethe mid-point of the upper and lower edges to be the vertical center ofthe product.

Returning to FIG. 4, based on the vertical center of the product, thesystem may determine an adjustment of the camera position 404 bycalculating the distance the camera has to move so that the verticalcenter of the product is positioned at (or within a threshold range of)the vertical center of the image. This can be calculated from thelocation of the slope (in pixel) and the image resolution (pixel perinch). The mechanical control system (302 in FIG. 3) may translate thedistance and move the camera 405 by controlling the motor to drive thecamera to desired location, and start the image capturing process.

In one embodiment, when the image capture process starts, the imagingand control sub-system (301 in FIG. 3) may synchronize with themechanical control system (302 in FIG. 3) to align the turntable with apre-set imaging location 410. The pre-set imaging location maycorrespond to each of the pre-stored capturing angles in the capturesetting. The system may control the camera to capture a product image411 once the turntable is at approximate one of the pre-stored set ofcapturing angles in a capture setting. This step may repeat for each ofthe capturing angles 413 until all product images are captured. Then,the system may store the multi-angle images to the product imagingdatabase 412. In one embodiment, the system may store capturedmulti-angle images all at once to the product imaging database. Inanother embodiment, the system may store the multi-angle images oneimage at a time as each image is captured.

Alternatively and/or additionally, the system may analyze the productimages from multiple angles and detect the barcode of the product 406.For example, the method and system described in U.S. Patent ApplicationPublication No. 20150363625 to Wu et al, titled “Image ProcessingMethods and Systems for Barcode and/or Product Label Recognition” can beused. In an alternative embodiment, the system may include a barcodereader that may be fixedly mounted to the workstation, such as on thesupporting member. When multi-angle images are being captured, thesystem may also control the barcode reader to constantly scan forbarcode off the product being captured and continuously retrieve thereadings from the barcode reader until the barcode of the product issuccessfully detected. In another embodiment, the system may include ahandheld scanner and allow the user to directly scan the barcode off theproduct, any time before, during or after the capturing of the productimages.

Once the system retrieves the barcode of the product automatically, thisinformation can be embedded to the image files in the product imagingdatabase. For example, the barcode can be used as part of the filename,stored in meta-data of the image files (e.g., tag in TIFF) etc. or usedto link to the product database. The barcode can be used to preventhuman errors in keeping track between acquired images and theircorresponding products.

In some embodiments, the system may also include accessing to theproduct database using the detected barcode to populate the imagesacquired to the database and validate them against the images alreadystored in the database. For example, the system may be configured toperform a pre-scan of the product until the barcode of the product isretrieved. The system may use the barcode to look up the product imagingdatabase to check if a complete set of images for the current productalready exists. In one embodiment, if a complete set of images for thecurrent product already exists, the system may determine to suspend thecapturing of images for the product to avoid capturing duplicate images;otherwise, the system may continue the capturing process for theproduct, as disclosed in FIG. 4.

The pre-scan of the product can be done in various ways. For example,the pre-scan may include capturing an initial image of the product andanalyzing the initial image to detect the barcode in the image. Thepre-scan may also include rotating the turntable to different angles,capturing an image of the product at each rotation and detecting thebarcode of the product until the barcode of the product is successfullyextracted. The pre-scan may also allow the user to use a handheldscanner to scan the barcode directly on the product before the capturingprocess starts.

Alternatively and/or additionally, the system may store multiple sets ofimages for the same product in the product imaging database over time.For example, the system may have determined that a set of multiple-angleimages for the current product is already existing in the productimaging database, and yet because the time when those pre-existingimages were captured and the current time has exceeded a threshold, thesystem may determine to continue the capturing process and capture a newset of images for the same product and store them to the product imagingdatabase. In one embodiment, a system may compare these more recentimages of the product with previously captured images of the sameproduct and track the changes in the packaging of the specific product.This information may be helpful for understanding the impact ofpackaging to the sale effectiveness.

Alternatively and/or additionally, the system may calculate thedimension of the product. In one embodiment, the system may receivereadings from an optional range sensor that can be mounted to thesupporting member to measure the distance between the image capturingdevice and the product. Then the system may use the measured distance,and optionally/additionally the pixel dimensions measured from thecaptured image, to calculate the dimension of the product. In oneembodiment, based on the measured distance between the camera and theproduct, the system may identify the known pixel size, e.g. 1pixel=0.01×0.01 square inch. Then the system may calculate the size ofthe product based on the number of pixels contained within the edges ofthe product, such as the upper and lower edges, the detection of whichis disclosed in FIG. 5.

In some embodiments, the system for capturing multi-angle images ofproducts may include easy to use user interface for user to streamlinethe capturing process. In one embodiment, the user interface may includean interface to display a video streaming from the camera, and mayinclude a “start”/“stop” button that turns on/off the video streamingfrom the camera. The user interface may also include a “capture” button.When the “capture” button is clicked, the system may control the camerato take an initial image to analyze the product location and thencontrol the DC motor to move the camera so that it is centered on theproduct. The system may then control the turntable to start rotating andcontrol the image capturing device to capture images of the product atselected capturing angles in a capture setting. The user interface mayinclude multiple panels in a window to show multiple-angle images of aproduct after the capturing process is completed and/or the barcodeinformation is extracted from the images.

FIG. 7 depicts an example of internal hardware that may be included inany of the electronic components of the system, the computing device oranother device in the system. An electrical bus 500 serves as aninformation highway interconnecting the other illustrated components ofthe hardware. Processor 505 is a central processing device of thesystem, configured to perform calculations and logic operations requiredto execute programming instructions. As used in this document and in theclaims, the terms “processor” and “processing device” may refer to asingle processor or any number of processors in a set of processors,whether a central processing unit (CPU) or a graphics processing unit(GPU) or a combination of the two. Read only memory (ROM), random accessmemory (RAM), flash memory, hard drives and other devices capable ofstoring electronic data constitute examples of memory devices 510, 515.A memory device may include a single device or a collection of devicesacross which data and/or instructions are stored.

An optional display interface 530 may permit information from the bus500 to be displayed on a display device 545 in visual, graphic oralphanumeric format. An audio interface and audio output (such as aspeaker) also may be provided. Communication with external devices mayoccur using various communication devices 540 such as a transmitterand/or receiver, antenna, an RFID tag and/or short-range or near-fieldcommunication circuitry. A communication device 540 may be attached to acommunications network, such as the Internet, a local area network or acellular telephone data network.

The hardware may also include a user interface sensor 545 that allowsfor receipt of data from a keyboard 550 and other input devices 555 suchas a mouse, a joystick, a touchscreen, a remote control, a pointingdevice, a video input device and/or an audio input device. A positionalsensor 555 and motion sensor 550 may be included to detect position andmovement of the device. Data also may be received from an imagingcapturing device 520 such as a scanner to acquire other data.

The above-disclosed features and functions, as well as alternatives, maybe combined into many other different systems or applications. Variouspresently unforeseen or unanticipated alternatives, modifications,variations or improvements may be made by those skilled in the art, eachof which is also intended to be encompassed by the disclosedembodiments.

The invention claimed is:
 1. A method of acquiring multi-angle images ofa product, comprising: placing a product on a workstation comprising atleast one background wall and a camera supporting member having avertical axis, wherein the camera supporting member is configured tomovably attach an image capturing device so that the image capturingdevice may be moved along the vertical axis of the camera supportingmember; capturing, by the image capturing device, a first image of theproduct; analyzing, by a computing device, the captured first image anddetecting a vertical center of the product, wherein detecting thevertical center of the product comprises: calculating an image intensityprofile of the first image, calculating a derivative of the imageintensity profile, detecting an upper edge and a lower edge of theproduct based on the derivative of the image intensity profile, anddetermining the vertical center of the product based on the detectedupper edge and the lower edge of the product; determining, by thecomputing device, when the vertical center of the product is within aproximate distance to the vertical center of the first image; upondetermining that the vertical center of the product is not within theproximate distance to the vertical center of the first image, causing,by the computing device, the image capturing device to move along thevertical axis a location based on the distance between the verticalcenter of the product and the vertical center of the first image;capturing, by the image capturing device, one or more additional imagesof the product after the image capturing device has moved to thelocation; and storing the one or more additional images in a productdatabase.
 2. The method of claim 1, wherein the workstation furthercomprises a turntable configured to place thereon the product, andcapturing one or more additional images of the product comprises: by thecomputing device, rotating the turntable to each of a plurality ofcapturing angles; and by the computing device, capturing one of theadditional images at each of the plurality of capturing angles.
 3. Themethod of claim 1, wherein detecting the vertical center of the productcomprises: segmenting the first image; and detecting a foreground of thefirst image based on the segmented image.
 4. The method of claim 1,wherein the product comprises a barcode, and wherein the method furthercomprises: detecting the barcode of the product; comparing the detectedbarcode of the product with one or more product barcodes, eachassociated with one or more product images stored in the productdatabase; and suspending subsequent capturing if the detected barcode ofthe product matches at least one of the one or more product barcodes, orcontinuing subsequent capturing otherwise.
 5. The method of claim 1,wherein the product comprises a barcode, and wherein the method furthercomprises: detecting the barcode of the product; comparing the detectedbarcode of the product with one or more product barcodes, eachassociated with one or more product images stored in the productdatabase; and if the detected barcode of the product matches at leastone of the one or more product barcodes: comparing the one or morecaptured additional images of the product with one or more productimages associated with the matching product barcode, and identifying aproduct packaging change based on the comparison of the one or moreproduct images.
 6. The method of claim 1 further comprising: receiving,by the computing device, a distance between the image capturing deviceand the product from a laser based range sensor; and determining, by thecomputing device, a dimension of the product based on the one or morecaptured additional images and the distance between the image capturingdevice and the product.
 7. The method of claim 2, wherein the capturingangles comprise 0, 90, 180 and 270 degrees.
 8. A system for acquiringmulti-angle images of a product, comprising: a computing device; aworkstation comprising a working surface, at least one background wall,and a camera supporting member having a vertical axis, wherein thecamera supporting member is configured to movably attach an imagecapturing device so that the image capturing device may be moved alongthe vertical axis of the camera supporting member; a non-transitory,computer readable medium containing program instructions that areconfigured to cause the computing device to: cause the image capturingdevice to capture a first digital image of the product, analyze thecaptured first digital image and detect a vertical center of theproduct, wherein the instructions to detect the vertical center of theproduct comprise instructions to: calculate an image intensity profileof the first image; calculate a derivative of the image intensityprofile; detect an upper edge and a lower edge of the product based onthe derivative of the image intensity profile; and determine thevertical center of the product based on the detected upper edge and thelower edge of the product, determine when the vertical center of theproduct is proximate to a vertical center of the first digital image,only upon determining that the vertical center of the product is notproximate to the vertical center of the first digital image, cause theimage capturing device to move along the vertical axis to a locationbased on the distance between the vertical center of the product and thevertical center of the first image, cause the image capturing device tocapture one or more additional digital images of the product after theimage capturing device has moved to the location, and store the one ormore additional images in a product database.
 9. The system of claim 8further comprising a turntable rotatably mounted to the workstation andconfigured to hold a product, wherein the program instructions forcapturing one or more additional digital images of the product compriseadditional program instructions configured to cause the computing deviceto: rotate the turntable to each of a plurality of capturing angles; andcapture one of the additional digital images of the product at each ofthe plurality of capturing angles.
 10. The system of claim 8, whereinthe program instructions comprise additional program instructionsconfigured to: cause the computing device to detect a barcode of theproduct; cause the computing device to compare the detected barcode ofthe product with one or more product barcodes, each associated with oneor more product images stored in the product database; and suspendsubsequent capturing if the detected barcode of the product matches atleast one of the one or more product barcodes, or continue subsequentcapturing otherwise.
 11. The system of claim 8 further comprising one ormore light panels.
 12. The system of claim 8 further comprising a laserbased range sensor mounted on the camera supporting member, wherein thelaser based range sensor is configured to: detect a distance between theimage capturing device and the product; and the program instructionscomprise additional program instructions that will cause the computingdevice to calculate a dimension of the product based on the one or morecaptured additional images and the detected distance between the imagecapturing device and the product.
 13. The system of claim 8, wherein thebackground wall and the working surface of the workstation intersect ata curved corner.
 14. The system of claim 9, wherein capturing anglescomprise 0, 90, 180 and 270 degrees.
 15. The system of claim 9, whereinthe turntable is mounted flush to the working surface of theworkstation.
 16. A system for acquiring multi-angle images of a product,comprising: a computing device; a workstation comprising a workingsurface, at least one background wall and a camera supporting memberhaving a vertical axis; an image capturing device movably attached tothe camera supporting member so that the image capturing device may bemoved along the vertical axis of the camera supporting member; and anon-transitory, computer readable medium containing program instructionsthat are configured to cause the computing device to: cause the imagecapturing device to capture a first digital image of the product,analyze the captured first digital image and detect a vertical center ofthe product, wherein the instructions to detect the vertical center ofthe product comprise instructions to: calculate an image intensityprofile of the first image; calculate a derivative of the imageintensity profile; detect an upper edge and a lower edge of the productbased on the derivative of the image intensity profile; and determinethe vertical center of the product based on the detected upper edge andthe lower edge of the product, determine when the vertical center of theproduct is proximate to a vertical center of the first digital image,only upon determining that the vertical center of the product is notproximate to the vertical center of the first digital image, cause theimage capturing device to move along the vertical axis to a locationbased on the distance between the vertical center of the product and thevertical center of the first image, cause the image capturing device tocapture one or more additional digital images of the product after theimage capturing device has moved to the location, and store the one ormore additional images in a product database.
 17. The system of claim 16further comprising a turntable rotatably mounted to the workstation andconfigured to hold a product, wherein the program instructions forcapturing one or more additional digital images of the product compriseadditional program instructions configured to cause the computing deviceto: rotate the turntable to each of a plurality of capturing angles; andcapture one of the additional digital images of the product at each ofthe plurality of capturing angles.
 18. The system of claim 16, whereinthe program instructions comprise additional program instructionsconfigured to: cause the computing device to detect a barcode of theproduct; cause the computing device to compare the detected barcode ofthe product with one or more product barcodes, each associated with oneor more product images stored in the product database; and suspendsubsequent capturing if the detected barcode of the product matches atleast one of the one or more product barcodes, or continue subsequentcapturing otherwise.
 19. The system of claim 16 further comprising alaser based range sensor mounted on the camera supporting member,wherein the laser based range sensor is configured to: detect a distancebetween the image capturing device and the product; and the programinstructions comprise additional program instructions that will causethe computing device to calculate a dimension of the product based onthe one or more captured additional images and the detected distancebetween the image capturing device and the product.